---
title: Habitat - Demo - Making Permanent Changes via Configuration Files
description: The “Try Habitat” is an interactive, in-browser demo that walks you through how to build, configure, and run packages in Habitat.
step: 4
total_steps: 7
---
h2.page-body--title Making Permanent Changes via Configuration Files

p
  | In the previous step, we made a one-off change while starting the service. That
    was convenient, but what if we want to make this change permanent and distribute
    it across all of our instances? This is where Habitat excels.
p
  | Habitat deals with configuration settings in a couple of places. First, you'll
    have your typical config file(s) based upon your particular package (e.g. redis.conf)
    and second, Habitat will look for a .toml file where you can define additional
    config items.

p
  | Earlier, the Habitat supervisor read the contents of the config.toml file for
    us when we asked what was configurable in our service. Presume you're working
    on this file locally in your text editor - a snippet is displayed below.

p
  | Let's change the <code>tcp-backlog</code> setting to 128 in our config.toml,
    then we'll apply that file to our group of instances in the next step.

code
  | tcp-backlog = 128

= partial "partials/editor" do
  | # snippet of config.toml
    #
    # TCP listen() backlog.
    #
    # In high requests-per-second environments you need an high backlog in order
    # to avoid slow clients connections issues. Note that the Linux kernel
    # will silently truncate it to the value of /proc/sys/net/core/somaxconn so
    # make sure to raise both the value of somaxconn and tcp_max_syn_backlog
    # in order to get the desired effect.
    tcp-backlog = 511

#success
  = partial "partials/advance_button" do
    | Next - Apply changes through discovery

= partial "partials/previous_button" do
  | Back to previous step
